/* 暗黑主题完整修复版CSS */
/* ================ CSS变量定义 ================ */
.root {
    /* 基础色系 */
    -fx-dark-primary: #1A1A1A; /* 主背景色 */
    -fx-dark-secondary: #2D2D2D; /* 次级背景 */
    -fx-dark-secondary-darker: #202020; /* 预定义深色变体 */
    -fx-accent-color: #0066CC; /* 强调色 */
    -fx-text-primary: #E0E0E0; /* 主文字 */
    -fx-text-secondary: #A0A0A0; /* 次级文字 */
    -fx-border-base: #404040; /* 基础边框 */

    /* 字体设置 */
    -fx-font-family: "Segoe UI";
    -fx-font-size: 14px;

    /* 全局背景与文字 */
    -fx-background-color: -fx-dark-primary;
    -fx-text-fill: -fx-text-primary;
}

/* ================= 控件样式 ================= */

/* 按钮 - 安全渐变方案 */
.button {
    -fx-background-color: linear-gradient(to bottom,
    -fx-dark-secondary,
    -fx-dark-secondary-darker); /* 使用预定义变量 */
    -fx-border-color: -fx-border-base;
    -fx-border-radius: 4px;
    -fx-text-fill: -fx-text-primary;
    -fx-padding: 8px 16px;
    -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.2), 4, 0, 0, 2);
}

.button:hover {
    -fx-background-color: linear-gradient(to bottom,
    #505050,
    #404040); /* 直接使用颜色值 */
    -fx-cursor: hand;
}

.button:pressed {
    -fx-background-color: -fx-dark-secondary-darker;
}

/* 输入框 */
.text-field, .text-area, .combo-box {
    -fx-background-color: -fx-dark-secondary;
    -fx-border-color: -fx-border-base;
    -fx-border-radius: 4px;
    -fx-text-fill: -fx-text-primary;
    -fx-prompt-text-fill: -fx-text-secondary;
}

.text-field:focused {
    -fx-border-color: -fx-accent-color;
    -fx-effect: innershadow(gaussian, rgba(0, 102, 204, 0.2), 8, 0, 0, 0);
}

/* 表格 */
.table-view {
    -fx-background-color: -fx-dark-primary;
    -fx-table-cell-border-color: transparent;
}

.table-row-cell:filled {
    -fx-background-color: -fx-dark-secondary;
}

.table-row-cell:filled:odd {
    -fx-background-color: #333333; /* 直接定义交替行颜色 */
}

.table-row-cell:selected {
    -fx-background-color: derive(-fx-accent-color, -20%); /* 合法使用derive() */
}

/* 选项卡 */
.tab-pane {
    -fx-background-color: -fx-dark-primary;
}

.tab {
    -fx-background-color: -fx-dark-secondary;
    -fx-text-fill: -fx-text-primary;
}

.tab:selected {
    -fx-background-color: -fx-accent-color;
    -fx-text-fill: white;
}

/* 滚动条 */
.scroll-bar:vertical .thumb,
.scroll-bar:horizontal .thumb {
    -fx-background-color: #505050;
    -fx-background-radius: 4px;
}

.scroll-bar .thumb:hover {
    -fx-background-color: #606060;
}

/* 工具提示 */
.tooltip {
    -fx-background-color: rgba(45, 45, 45, 0.95);
    -fx-text-fill: -fx-text-primary;
    -fx-border-color: -fx-border-base;
}

/* ================ 状态样式 ================ */
.button:disabled {
    -fx-opacity: 0.6;
    -fx-background-color: #303030; /* 直接使用颜色值 */
}

.error-border {
    -fx-border-color: #FF4444 !important;
    -fx-border-width: 2px;
}

/* ================ 自定义组件 ================ */
.card-pane {
    -fx-background-color: -fx-dark-secondary;
    -fx-background-radius: 8px;
    -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.3), 8, 0, 0, 2);
    -fx-padding: 16px;
}

.label {
    -fx-text-fill: -fx-text-primary;
}